var mysql=require('mysql');
var express=require('express');
var app=express();
var fs=require('fs');
var bp=require('body-parser');

app.use(bp.json());
app.use(bp.urlencoded({extended:false}));

var config={
		host :'localhost',
		user :'root',
	password :'123456',
	database :'test'
}

var user=[];

//封装，注册完可以直接登录，无需服务器刷新
function getUser(){
	var connection=mysql.createConnection(config);
	connection.connect();
	var sql='select * from user';
	connection.query(sql,function(err,data){
		err?console.log(err.message):{};
		console.log('————————————————————————————————————');
		console.log(data);
		console.log('____________________________________');
			user=data;
	})
	connection.end()
}getUser();

//获取传送的参数
app.post('/sendInfo',function(req,res){
	// console.log(req.query)
	// res.json(req.query);
	console.log(req.body)
	let u=req.body.params;
	let confirm=user.filter(o=>o.username==u.username&&o.password==u.password);
	let k={};
	if(confirm.length){
		
		k.body=JSON.parse(JSON.stringify(confirm[0]));
		k.body.password=undefined;
		k.success=true;
		// res.write(`
		// <h1>欢迎你，${confirm[0].id}号用户${confirm[0].name}</h1>
		// `);
	}else{
		k.success=false;
	}
	res.json(k);
	res.end();
})

//注册的方法（添加）
function register(obj,fn){//传送账号密码
	var connection=mysql.createConnection(config);//打开数据的链接
	connection.connect();
	var sql=`INSERT INTO user(username,password,sex)
	values('${obj.username}','${obj.password}','${obj.sex}')`
	connection.query(sql,function(err,data){
	if(err){
		console.log(err);
		fn(err,data)
	}else{
		fn(null,data);
	}
})
connection.end();
// getUser();
}

function find(cx,fn){
	var connection=mysql.createConnection(config);
	connection.connect();
	var sql=`SELECT * FROM user WHERE id IN (${cx})`
	connection.query(sql,function(err,data){
		if(err){
			console.log(err);
			fn(err,data)
		}else{
			fn(null,data);
		}
	})
	connection.end();
}

//删除数据
function del(ids,fn){//传送账号密码
	var connection=mysql.createConnection(config);//打开数据的链接
	connection.connect();
	var sql=`DELETE FROM user WHERE id IN (${ids})`
	connection.query(sql,function(err,data){
	if(err){
		console.log(err);
		fn(err,data)
	}else{
		fn(null,data);
	}
})
connection.end();
// getUser();
}

//注册
app.post('/register',function(req,res){
	let u=req.body;//取出输出，变为对象；
	let cx=req.body.username;
	console.log(cx);
	console.log(u);
	register(u,function(err,data){
		getUser();
		let k={};
		k.success=err ? false:true;
		k.body=data;
		res.json(k);
		res.end();
		
	})
	
})

//查询
app.get('/find',function(req,res){
// 	let cx=req.query.
	let cx=req.query.idss;
	// console.log(cx);
	find(cx,function(err,data){
		getUser();
		let k={};
		k.success=err ? false:true;
		k.body=data;
		res.json(k);
		res.end();	
	})
})
// 删除
app.get('/dalete',function(req,res){
	let ids=req.query.ids;
	
	console.log(ids);
	del(ids,function(err,data){
		getUser();
		let k={};
		k.success=err ? false:true;
		k.body=data;
		res.json(k);
		res.end();
	})
})

//获取请求的数据源

// app.get('/register',function(req,res){
// 	var connection=mysql.createConnection(config);
// 	// console.log(req.query);
// 	let user=req.query;//取出？后的所有参数
// 	connection.connect();
// 	var sql=`INSERT INTO user(username,password)
// 	 values(${user.username},${user.password})`
// 	 connection.query(sql,function(err,data){})
// 	 connection.end();
// 	 console.log('注册成功');
// })

//编写接口/getUser,返回数据库数据，（需开服务器）
app.get('/getUser',function(req,res){
	res.json(user);
	res.end()
}).listen(8080,function(){
	console.log('服务器已开启');
})

//注册
// app.post('/register',function(req,res){
// 	let u=req.body.params;//取出输出，变为对象；
// 	u.sex='男';
// 	register(u,function(err,data){
// 		let k={};
// 		// if(err){
// 		// 	k.success=false;
// 		// }else{
// 		// 	k.success=true;
// 		//	k.body=data;
// 		// }
// 		k.success=err ? false:true;
// 		k.body=data;
// 		res.json(k);
// 		res.end();
// 	})
// 	getUser();
// })